2023/12/231116字符
net 模块
客户端请求
const net = require('net');
const socket = net.createConnection({
host: 'bozai.tech',
port: '80'
}, () => {
console.log('连接成功');
});
socket.on('data', chunk => {
console.log(chunk.toString('utf-8'));
});
socket.write(`GET / HTTP/1.1
Host: bozai.tech
Connection: keep-alive
`);
TCP 可以传任何信息,只是在服务器不认识的情况下不会回应信息
创建服务器
const net = require('net');
const server = net.createServer();
server.listen(80);
server.on('listening', () => {
console.log('服务已启动');
});
server.on('connection', socket => {
console.log('有访客访问'); // 这里会打印两次,第一次为测试,第二次为请求
socket.on('data', chunk => {
console.log(chunk.toString('utf-8'));
socket.write(`HTTP/1.1 200 OK
Content-Type: text/plain
<h1>Hello</h1>`);
socket.end(); // 主动挂断
});
socket.on('end', () => {
console.log('连接关闭')
});
});